home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / macros / latex209 / contrib / dutch / artikel3.doc < prev    next >
Text File  |  1994-04-05  |  54KB  |  1,388 lines

  1. %%% ====================================================================
  2. %%%  @LaTeX-style-file{
  3. %%%     author          = "Victor Eijkhout",
  4. %%%     maintainer      = "Johannes Braams",
  5. %%%     version         = "1.20c",
  6. %%%     date            = "05 April 1994",
  7. %%%     time            = "10:10:42 MET",
  8. %%%     filename        = "artikel3.doc",
  9. %%%     address-1       = "Department of Computer Science
  10. %%%                        University Tennessee at Knoxville
  11. %%%                        104 Ayres Hall
  12. %%%                        Knoxville, TN 37996
  13. %%%                        USA",
  14. %%%     address-2       = "PTT Research
  15. %%%                        St. Paulusstraat 4
  16. %%%                        2264 XZ Leidschendam
  17. %%%                        The Netherlands",
  18. %%%     telephone-2     = "(70) 3325051",
  19. %%%     FAX-2           = "(70) 3326477",
  20. %%%     checksum        = "10508 1387 6013 53590",
  21. %%%     email-1         = "eijkhout@cs.utk.edu"
  22. %%%     email-2         = "J.L.Braams@research.ptt.nl (Internet)",
  23. %%%     codetable       = "ISO/ASCII",
  24. %%%     keywords        = "LaTeX, documentstyle, article",
  25. %%%     supported       = "yes",
  26. %%%     abstract        = "",
  27. %%%     docstring       = "The checksum field above contains a CRC-16
  28. %%%                        checksum as the first value, followed by the
  29. %%%                        equivalent of the standard UNIX wc (word
  30. %%%                        count) utility output of lines, words, and
  31. %%%                        characters.  This is produced by Robert
  32. %%%                        Solovay's checksum utility.",
  33. %%%  }
  34. %%% ====================================================================
  35. % Artikel3 Document Style, based on:
  36. % ARTICLE STANDARD DOCUMENT STYLE -- Released 14 Jan 1992
  37. %    for LaTeX version 2.09
  38. % Copyright (C) 1991 by Leslie Lamport
  39. %
  40. % This style copyright 1989/1990/1991/1992 by Victor Eijkhout
  41. %
  42. \def\styleversion{1.20c}
  43. \def\styledate{4 april 1994}
  44. %
  45. % This uses 'ntg10', 'ntg11', 'ntg12' for pointsize options.
  46. %
  47. % English language is the default, otherwise
  48. % use the 'Dutch' or 'German' option,
  49. % or anything that parametrises using the same names.
  50. %
  51. % \changes{1.18}{91/12/03}{Brought up-to-date with latest article style}
  52. % \changes{1.19}{92/01/14}{Added redefinition of pagestylecommands,
  53. %                          bug-fix for thebibliography environment,
  54. %                          and fix writing of unitindent with if@fileswfalse}
  55. % \changes{1.20}{92/01/16}{Brought up-to-date with latest article style}
  56. % \changes{1.20a}{92/02/06}{Small modification to @maketitle macro and
  57. %                           added definition of \@bibitem for backwards
  58. %                           compatibility}
  59. % \changes{1.20b}{Added `immediate to the definition of `@writeindent
  60. %                 added `head@style to definition of `@maketitle
  61. %                 and replaced `regeltransport with `baselineskip}
  62. % \changes{1.20c}{Adding `headstyle to `@maketitle was wrong for the
  63. %                 centerred title version because it sets rightskip to
  64. %                 an inappropriate value}
  65. %
  66. % Options specific to this style:
  67. %    'oldtoc'         : switch to the `Lamport' style table of contents
  68. %
  69. % Author:
  70. %    Victor Eijkhout
  71. %    Department of Computer Science
  72. %    University Tennessee at Knoxville
  73. %    104 Ayres Hall
  74. %    Knoxville, TN 37996
  75. %    USA
  76. %
  77. %    eijkhout@cs.utk.edu
  78. %
  79. % Documentation by Johannes Braams and Victor Eijkhout
  80. %
  81. %% \CharacterTable
  82. %%  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
  83. %%   Lower-case    \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
  84. %%   Digits        \0\1\2\3\4\5\6\7\8\9
  85. %%   Exclamation   \!     Double quote  \"     Hash (number) \#
  86. %%   Dollar        \$     Percent       \%     Ampersand     \&
  87. %%   Acute accent  \'     Left paren    \(     Right paren   \)
  88. %%   Asterisk      \*     Plus          \+     Comma         \,
  89. %%   Minus         \-     Point         \.     Solidus       \/
  90. %%   Colon         \:     Semicolon     \;     Less than     \<
  91. %%   Equals        \=     Greater than  \>     Question mark \?
  92. %%   Commercial at \@     Left bracket  \[     Backslash     \\
  93. %%   Right bracket \]     Circumflex    \^     Underscore    \_
  94. %%   Grave accent  \`     Left brace    \{     Vertical bar  \|
  95. %%   Right brace   \}     Tilde         \~}
  96. %%
  97.  
  98. \typeout{Document Style 'Artikel3'. Version <\styleversion>, <\styledate>}
  99. %
  100. % This style uses a new layout for the table of contents,
  101. % but in order to maintain compatibility with article.sty
  102. % we supply an extra option: oldtoc.
  103. % If this option is specified the switch \if@oldtoc will be set true
  104. %
  105. \newif\if@oldtoc \def\ds@oldtoc{\@oldtoctrue}
  106.  
  107. %
  108. % The default placement for the title (produced by \maketitle)
  109. % is flush left. For people who prefer the article-placement
  110. % the option titlecentered is provided.
  111. %
  112. \newif\if@titlecentered \def\ds@titlecentered{\@titlecenteredtrue}
  113. %
  114.  
  115. % There used to exist a 'sober.sty'. The following
  116. % statemement prevents that file from being loaded
  117. % on top of this style
  118. %
  119. \def\ds@sober{}
  120.  
  121. % CHOOSING THE TYPE SIZE:
  122. %
  123. %  The type size option is handled by reading a different file for each
  124. %  size, as follows:
  125. %       10pt : NTG10, 11pt : NTG11, 12pt : NTG12
  126. %  Implemented by \def'ing \@ptsize to last digit of file name.
  127. %
  128. \def\@ptsize{0}                     % Default is NTG10.STY
  129. \@namedef{ds@10pt}{}                % Included for completeness
  130. \@namedef{ds@11pt}{\def\@ptsize{1}} % 11pt option reads in NTG11.STY
  131. \@namedef{ds@12pt}{\def\@ptsize{2}} % 12pt option reads in NTG12.STY
  132. %
  133. %  Two-side or one-side printing.
  134. % \@twosidefalse               %  Default is one-sided printing.
  135. \def\ds@twoside{\@twosidetrue  %  Defines twoside option.
  136.            \@mparswitchtrue}   %    Marginpars go on outside of page.
  137. %  draft option
  138. %
  139. % \overfullrule = 0pt             % Default is don't mark overfull hboxes.
  140. \def\ds@draft{\overfullrule 5pt}  % Causes overfull hboxes to be marked.
  141. % FMi 91/03/30: made titlepag.sty a file and titlepage an option.
  142. % FMi 91/03/30: made twocolum.sty a file and twocolumn an option.
  143.  
  144. % jRmS 92/01/10: moved actual reading of titlepag.sty
  145. % to the end of this file.
  146. \newif\if@titlepage \@titlepagefalse
  147. \def\ds@titlepage{\@titlepagetrue}
  148.  
  149. % RmS 91/10/15: moved actual reading of twocolumn.sty
  150. %               to the end of this file.
  151. %\def\ds@twocolumn{\@@input twocolum.sty\relax}
  152. \def\ds@twocolumn{\@twocolumntrue}
  153. %
  154. % The \@options command causes the execution of every command \ds@FOO
  155. % which is defined and for which the user typed the FOO option in his
  156. % \documentstyle command.  For every option BAR he typed for which
  157. % \ds@BAR is not defined, the file BAR.sty will be read after the
  158. % present (main) .STY file is executed.
  159. %
  160. \@options
  161.  
  162. % Now load the point size option file
  163. \input ntg1\@ptsize.sty\relax
  164.  
  165. %    ****************************************
  166. %    *                LISTS                 *
  167. %    ****************************************
  168. %
  169.  
  170. % ENUMERATE
  171. %  Enumeration is done with four counters: enumi, enumii, enumiii
  172. %  and enumiv, where enumN controls the numbering of the Nth level
  173. %  enumeration.  The label is generated by the commands \labelenumi
  174. %  ... \labelenumiv.  The expansion of \p@enumN\theenumN defines the
  175. %  output of a \ref command.
  176. %
  177. % 16 Mar 88 -- changed defs of \labelenum... to use \theenum...
  178. %
  179. \def\labelenumi{\theenumi.}
  180. \def\theenumi{\arabic{enumi}}
  181. %
  182. \def\labelenumii{(\theenumii)}
  183. \def\theenumii{\alph{enumii}}
  184. \def\p@enumii{\theenumi}
  185. %
  186. \def\labelenumiii{\theenumiii.}
  187. \def\theenumiii{\roman{enumiii}}
  188. \def\p@enumiii{\theenumi(\theenumii)}
  189. %
  190. \def\labelenumiv{\theenumiv.}
  191. \def\theenumiv{\Alph{enumiv}}
  192. \def\p@enumiv{\p@enumiii\theenumiii}
  193. %
  194. % ITEMIZE
  195. % Itemization is controlled by four commands: \labelitemi, \labelitemii,
  196. % \labelitemiii, and \labelitemiv, which define the labels of the various
  197. % itemization levels.
  198. %
  199. \def\labelitemi{$\m@th\bullet$}
  200. \def\labelitemii{\bf --}
  201. \def\labelitemiii{$\m@th\ast$}
  202. \def\labelitemiv{$\m@th\cdot$}
  203. %
  204. % VERSE
  205. %   The verse environment is defined by making clever use of the
  206. %   list environment's parameters.  The user types \\ to end a line.
  207. %   This is implemented by \let'in \\ equal \@centercr.
  208. %
  209. \def\verse{\let\\=\@centercr
  210.  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
  211.  \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
  212. \let\endverse\endlist
  213. %
  214.  
  215. % QUOTATION
  216. %   Fills lines
  217. %   Indents paragraph
  218. %
  219. \def\quotation{\list{}{\listparindent \z@     % this was: 1.5em
  220.  \itemindent\listparindent
  221.  \rightmargin\leftmargin \parsep \z@ plus \p@}\item[]}
  222. \let\endquotation=\endlist
  223. %
  224. % QUOTE -- same as quotation except no paragraph indentation,
  225. %
  226. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  227. \let\endquote=\endlist
  228. %
  229. % DESCRIPTION
  230. %
  231. %  To change the formatting of the label, you must redefine
  232. %  \descriptionlabel.
  233. %
  234. \def\descriptionlabel#1{\hspace\labelsep \bf #1}
  235. \def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
  236.  \let\makelabel\descriptionlabel}}
  237. \let\enddescription\endlist
  238. %
  239. %\newdimen\descriptionmargin
  240. %\descriptionmargin=3em
  241. %
  242. %    ****************************************
  243. %    *         OTHER ENVIRONMENTS           *
  244. %    ****************************************
  245. %
  246. %
  247. % THEOREM
  248. % \@begintheorem ... \@endtheorem are the commands executed at the
  249. % beginning and end of a (user-defined) theorem-like environment.
  250. % Except \@opargbegintheorem is executed when an optional argument is
  251. % given.  Cf. LATEX.TEX.
  252. %
  253. % \def\@begintheorem#1#2{\it \trivlist
  254. %       \item[\hskip \labelsep{\bf #1\ #2}]}
  255. % \def\@opargbegintheorem#1#2#3{\it \trivlist
  256. %       \item[\hskip \labelsep{\bf #1\ #2\ (#3)}]}
  257. % \def\@endtheorem{\endtrivlist}
  258. %
  259. %
  260. % Adaption of these commands to an environment with non-zero \parskip:
  261. % Several repairs to the theorem environments.
  262. \def\@begintheorem#1#2{\vskip\baselineskip \sl \labelsep=.5em
  263.            \trivlist \item[\hskip\labelsep{\reset@font\bf #1\ #2}]}
  264. \def\@endtheorem{\endtrivlist \vskip\baselineskip}
  265. %
  266. %
  267. % EQUATION and EQNARRAY
  268. %
  269. % \newcounter{equation}
  270. %  Default is for left-hand side of equations to be flushleft.
  271. %  To make them flushright, do:
  272. %  \let\@eqnsel = \hfil
  273. %
  274. \def\theequation{\arabic{equation}}
  275. %
  276. % \jot = 3pt      % Extra space added between lines of an eqnarray
  277.                   % environment
  278.  
  279. % The macro \@eqnnum defines how equation numbers are to appear in equations.
  280. %
  281. % \def\@eqnnum{(\theequation)}
  282. %
  283.  
  284. %%
  285. % Page styles
  286. %  Several commands (\index, \maketitle) give a \thispagestyle{plain}
  287. %  command, which will overrule a \pagestyle{empty} command.
  288. %  This situation is almost always unwanted.
  289. %
  290. % This is the old \thispagestyle:
  291. \def\Thispagestyle#1{\global\@specialpagetrue\gdef\@specialstyle{#1}}
  292.  
  293. % And this is the careful one:
  294. \def\@emptypagestyle{empty}
  295. \def\pagestyle#1{\@nameuse{ps@#1}\def\@currentpagestyle{#1}}
  296. \def\thispagestyle#1{\ifx\@currentpagestyle\@emptypagestyle
  297.     \else \global\@specialpagetrue\gdef\@specialstyle{#1}\fi}
  298.  
  299. % TITLEPAGE
  300. %  In the normal environments, the titlepage environment does nothing
  301. %  but start and end a page, and inhibit page numbers.  It also resets
  302. %  the page number to zero.
  303. %
  304. \def\titlepage{\@restonecolfalse\if@twocolumn\@restonecoltrue\onecolumn
  305.  \else \newpage \fi \thispagestyle{empty}\c@page\z@}
  306. %
  307. \def\endtitlepage{\if@restonecol\twocolumn \else \newpage \fi}
  308. %
  309. % ARRAY AND TABULAR
  310. %
  311.  
  312. \arraycolsep 5pt     % Half the space between columns in an array environment.
  313. \tabcolsep 6pt       % Half the space between columns in a tabular environment.
  314. \arrayrulewidth .4pt % Width of rules in array and tabular environment.
  315. \doublerulesep 2pt   % Space between adjacent rules in array or tabular env.
  316. %
  317. % TABBING
  318. %
  319. \tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)
  320. %
  321. % MINIPAGE
  322. %  \@minipagerestore is called upon entry to a minipage environment to
  323. %  set up things that are to be handled differently inside a minipage
  324. %  environment. In the this style, it makes \parindent equal to \unitindent
  325. %
  326. \def\@minipagerestore
  327.    {\parskip=.5\baselineskip plus .1\baselineskip
  328.               minus .1\baselineskip}
  329. %
  330.  
  331. % \skip\@mpfootins : plays same role for footnotes in a minipage as
  332. %                    \skip\footins does for ordinary footnotes
  333. \skip\@mpfootins = \skip\footins
  334. %
  335. % FRAMEBOX
  336. %
  337. \fboxsep = 3pt    % Space left between box and text by \fbox and \framebox.
  338. \fboxrule = .4pt  % Width of rules in box made by \fbox and \framebox.
  339. %
  340. %    ****************************************
  341. %    *             SECTIONS                 *
  342. %    ****************************************
  343. %
  344. % DEFINE COUNTERS:
  345. %
  346. % \newcounter{NEWCTR}[OLDCTR] : Defines NEWCTR to be a counter, which is
  347. %                               reset to zero when counter OLDCTR is stepped.
  348. %                               Counter OLDCTR must already be defined.
  349. \newcounter{part}
  350. \newcounter {section}
  351. \newcounter {subsection}[section]
  352. \newcounter {subsubsection}[subsection]
  353. \newcounter {paragraph}[subsubsection]
  354. \newcounter {subparagraph}[paragraph]
  355. %
  356. % For any counter CTR, \theCTR is a macro that defines the printed
  357. % version of counter CTR.  It is defined in terms of the following
  358. % macros:
  359. %
  360. %  \arabic{COUNTER} : The value of COUNTER printed as an arabic numeral.
  361. %  \roman{COUNTER}  : Its value printed as a lower-case roman numberal.
  362. %  \Roman{COUNTER}  : Its value printed as an upper-case roman numberal.
  363. %  \alph{COUNTER}   : Value of COUNTER printed as a lower-case letter:
  364. %                         1 = a, 2 = b, etc.
  365. %  \Alph{COUNTER}   : Value of COUNTER printed as an upper-case letter:
  366. %                           1 = A, 2 = B, etc.
  367. %
  368. \def\thepart          {\Roman{part}} % Roman numeral part numbers.
  369. \def\thesection       {\arabic{section}}
  370. \def\thesubsection    {\thesection.\arabic{subsection}}
  371. \def\thesubsubsection {\thesubsection .\arabic{subsubsection}}
  372. \def\theparagraph     {\thesubsubsection.\arabic{paragraph}}
  373. \def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
  374. %
  375. %    ****************************************
  376. %    *         TABLE OF CONTENTS, ETC.      *
  377. %    ****************************************
  378. %
  379. % A \subsection command writes a
  380. %       \contentsline{subsection}{TITLE}{PAGE}
  381. % command on the .toc file, where TITLE contains the contents of the
  382. % entry and PAGE is the page number.  If subsections are being numbered,
  383. % then TITLE will be of the form
  384. %       \numberline{NUM}{HEADING}
  385. % where NUM is the number produced by \thesubsection.  Other sectioning
  386. % commands work similarly.
  387. %
  388. % A \caption command in a 'figure' environment writes
  389. %    \contentsline{figure}{\numberline{NUM}{CAPTION}}{PAGE}
  390. % on the .lof file, where NUM is the number produced by \thefigure and
  391. % CAPTION is the figure caption.  It works similarly for a 'table'
  392. % environment.
  393. %
  394. % The command \contentsline{NAME} expands to \l@NAME.  So, to specify
  395. % the table of contents, we must define \l@section,
  396. % \l@subsection, ... ; to specify the list of figures, we must define
  397. % \l@figure; and so on.  Most of these can be defined with the
  398. % \@dottedtocline command, which works as follows.
  399. %
  400. % \@dottedtocline{LEVEL}{INDENT}{NUMWIDTH}{TITLE}{PAGE}
  401. %    LEVEL    : An entry is produced only if LEVEL < or = value of
  402. %               'tocdepth' counter.  Note that \section is level 1,
  403. %               \subsection is level 2, etc.
  404. %    INDENT   : The indentation from the outer left margin of the start
  405. %               of the contents line.
  406. %    NUMWIDTH : The width of a box in which the section number is to go,
  407. %               if TITLE includes a \numberline command.
  408. %
  409. % This command uses the following three parameters, which are set
  410. % with a \def (so em's can be used to make them depend upon the font).
  411. %   \@pnumwidth : The width of a box in which the page number is put.
  412. %   \@tocrmarg  : The right margin for multiple line entries.  One
  413. %                 wants \@tocrmarg > or = \@pnumwidth
  414. %   \@dotsep    : Separation between dots, in mu units.  Should be
  415. %                 \def'd to a number like 2 or 1.7
  416. \def\@pnumwidth{1.55em}
  417. \def\@tocrmarg {2.55em}
  418. \def\@dotsep{4.5}
  419. \setcounter{tocdepth}{3}
  420. %
  421. %    An alternative for \@dottedtocline is the \@regtocline command,
  422. %    which works as follows.
  423. %
  424. %    \@regtocline{LEVEL}{TITLE}{PAGE}
  425. %    LEVEL    : An entry is produced only if LEVEL < or = value of
  426. %               'tocdepth' counter.  Note that \section is level 1,
  427. %               \subsection is level 2, etc.
  428. %
  429. %
  430. % TABLEOFCONTENTS
  431. %
  432. % The following macros all have been adapted to a multilingual situation,
  433. % the hardcoded texts have been replaced by macros like \contentsname
  434. %
  435. \def\tableofcontents{\section*{\contentsname
  436.   \@mkboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}%
  437.   \@starttoc{toc}}
  438. %
  439. % LIST OF FIGURES
  440. %
  441. \def\listoffigures{\section*{\listfigurename
  442.     \@mkboth{\uppercase{\listfigurename}}{\uppercase{\listfigurename}}}%
  443.     \@starttoc{lof}}
  444. %
  445. % LIST OF TABLES
  446. %
  447. \def\listoftables{\section*{\listtablename
  448.     \@mkboth{\uppercase{\listtablename}}{\uppercase{\listtablename}}}%
  449.     \@starttoc{lot}}
  450. %
  451. %
  452. % The macro \@starttoc from LaTeX.tex has to adapted because we want the
  453. % \parskip to be zero inside the table of contents.
  454. %
  455. \def\@starttoc#1{\begingroup
  456.   \makeatletter \parskip\z@
  457.   \@input{\jobname.#1}\if@filesw \expandafter\newwrite\csname tf@#1\endcsname
  458.              \openout \csname tf@#1\endcsname \jobname.#1\relax
  459.   \fi \global\@nobreakfalse \endgroup}
  460. %
  461. %
  462. %%%%%%%%%%%%%%%%%%%%%%%%%%%% table of contents %%%%%%%%%%%%%%%%%%%%%%%%%%%
  463. %
  464. % In LaTeX v2.09 <1 december 1991> a macro \reset@font was introduced for
  465. % compatibility with the NFSS. In LaTeX.tex it is defined as
  466. % \def\reset@font{}
  467. % but this definition will be replaced when the NFSS is loaded
  468. % into the format.
  469. % To remain backwards compatible we check for the existence of \reset@font
  470. % and make sure it exists.
  471. %
  472. \ifx\undefined\reset@font \def\reset@font{}\fi
  473. %
  474. % This is the definition taken from latex.tex version 1 Dec 1991
  475. % and later. Included for compatibility with older versions of LaTeX
  476. %% RmS 91/09/29: added \reset@font for page number
  477. \def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else
  478.   \vskip \z@ plus.2\p@
  479.   {\leftskip #2\relax \rightskip \@tocrmarg \parfillskip -\rightskip
  480.     \parindent #2\relax\@afterindenttrue
  481.    \interlinepenalty\@M
  482.    \leavevmode
  483.    \@tempdima #3\relax \advance\leftskip \@tempdima \hbox{}\hskip -\leftskip
  484.     #4\nobreak\leaders\hbox{$\m@th \mkern \@dotsep mu.\mkern \@dotsep
  485.        mu$}\hfill \nobreak
  486.            \hbox to\@pnumwidth{\hfil\reset@font\rm #5}\par}\fi}
  487.  
  488. %
  489. %  For the new layout we have defined a new macro,
  490. %  adapted from \@dottedtocline, \@regtocline
  491. %  The parameters are 1: depth, 2: head, 3: page.
  492. \def\@regtocline#1#2#3{\ifnum #1>\c@tocdepth \else
  493.   \vskip \z@ plus .2pt
  494.   {\hangindent\z@ \@afterindenttrue \interlinepenalty\@M
  495.    \leftskip\unitindent % this used to be \z@
  496.    \rightskip=\unitindent plus 1fil
  497.    \parfillskip=0cm
  498.    \@tempdima=\unitindent \parindent\z@ \leavevmode
  499.    \hbox{}\hskip -\leftskip#2\nobreak % the box and backskip have been added
  500.    \hskip 1em \nobreak{\sl #3}\par
  501.    }\fi}
  502.  
  503. % more recent definition, works better with old toc
  504. \def\numberline#1{\hbox to\@tempdima{#1\hfil}}
  505.  
  506.  
  507. % The following conditional defines either the old macros
  508. % or the new ones. No generic styles here!
  509. \if@oldtoc
  510.    \def\l@part#1#2{\addpenalty{\@secpenalty}
  511.     \addvspace{2.25em plus \p@}%  % space above part line
  512.     \begingroup
  513.     \@tempdima 3em         % width of box holding part number, used by
  514.       \parindent \z@ \rightskip \@pnumwidth             %% \numberline
  515.       \leftskip\@tempdima
  516.       \parfillskip -\@pnumwidth
  517.     {\large \bf          % set line in \large boldface
  518.      \leavevmode          % TeX command to enter horizontal mode.
  519.      \hbox{}\hskip-\@tempdima\relax
  520.      #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
  521.      \nobreak             % Never break after part entry
  522.    \endgroup}
  523.    \def\l@section#1#2{\addpenalty{\@secpenalty} \addvspace{1.0em plus 1\p@}
  524.    \@tempdima 1.5em \begingroup
  525.     \parindent \z@ \rightskip \@pnumwidth \leftskip\@tempdima
  526.     \parfillskip -\@pnumwidth
  527.     \bf                  % Boldface.
  528.     \leavevmode          % TeX command to enter horizontal mode.
  529.     \hbox{}\hskip-\@tempdima\relax
  530.     #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
  531.     \endgroup}
  532.    \def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
  533.    \def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
  534.    \def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
  535.    \def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
  536.    \def\toc@font#1{\relax} %V for completeness.
  537.    \def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
  538.    \let\l@table\l@figure
  539. \else
  540.    \def\l@section{\@regtocline{1}}
  541.    \def\l@subsection{\@regtocline{2}}
  542.    \def\l@subsubsection{\@regtocline{3}}
  543.    \def\l@paragraph{\@regtocline{4}}
  544.    \def\l@subparagraph{\@regtocline{5}}
  545.    \def\l@part{\addpenalty{\@secpenalty}
  546.                \addvspace{2.25em plus 1pt}\@regtocline{0}}
  547.    \def\toc@font#1{\ifcase#1\relax\or\bf \or\sl \or\rm\fi}
  548.    \def\l@figure{\@regtocline{1}}
  549.    \let\l@table\l@figure
  550. \fi
  551.  
  552. %
  553. %    ****************************************
  554. %    *             BIBLIOGRAPHY             *
  555. %    ****************************************
  556. %
  557. % The thebibliography environment executes the following commands:
  558. %
  559. %  \def\newblock{\hskip .11em plus .33em minus .07em} --
  560. %      Defines the `closed' format, where the blocks (major units of
  561. %      information) of an entry run together.
  562. %
  563. %  \sloppy  -- Used because it's rather hard to do line breaks in
  564. %      bibliographies,
  565. %
  566. %  \sfcode`\.=1000\relax --
  567. %      Causes a `.' (period) not to produce an end-of-sentence space.
  568.  
  569. %% RmS 91/10/27 [ .. ] replaced by \@biblabel{ .. }
  570. %% RmS 91/11/13: Changed counter enumi to enumiv,
  571. %%               as it says in the comment in latex.tex
  572. %% RmS 92/01/14: Set \p@enumiv to {} and \theenumiv to \arabic{enumiv}
  573. %% to get correct references
  574. \def\thebibliography#1{\section*{\refname\@mkboth
  575.   {\uppercase{\refname}}{\uppercase{\refname}}}\list
  576.   {\@biblabel{\arabic{enumiv}}}{\settowidth\labelwidth{\@biblabel{#1}}%
  577.     \leftmargin\labelwidth
  578.     \advance\leftmargin\labelsep
  579.     \usecounter{enumiv}\let\p@enumiv\@empty
  580.     \def\theenumiv{\arabic{enumiv}}}%
  581.     \def\newblock{\hskip 0.11em plus 0.33em minus 0.07em}
  582.     \sloppy\clubpenalty4000\widowpenalty4000
  583.     \sfcode`\.=1000\relax}
  584. %
  585. %% 91/08/26 FMI & RmS: introduced warning instead of error
  586.  
  587. \def\endthebibliography{%
  588.   \def\@noitemerr{\@warning{Empty `thebibliography' environment}}%
  589.   \endlist}
  590. % In LaTeX v2.09 <1 december 1991> the bibliography environment was modified
  591. % to use the counter enumiv instead of enumi. This change has lead to a
  592. % number of `unexpected' secondary changes. To remain compatible with
  593. % older versions of LaTeX we include the definition of \@bibitem here
  594. % as it can be found in LaTeX.tex v2.09 <14 January 1992>
  595. %
  596. \def\@bibitem#1{\item\if@filesw \immediate\write\@auxout
  597.        {\string\bibcite{#1}{\the\value{\@listctr}}}\fi\ignorespaces}
  598.  
  599. %
  600. % \def\@biblabel#1{[#1]\hfill}  % Produces the label for a \bibitem[...]
  601.                                 % command.
  602. % \def\@cite#1{[#1]}            % Produces the output of the \cite command.
  603. %
  604. %    ****************************************
  605. %    *              THE INDEX               *
  606. %    ****************************************
  607. %
  608. % THE THEINDEX ENVIRONMENT
  609. % Produces double column format, with each paragraph a separate entry.
  610. % The user commands \item, \subitem and \subsubitem are used to
  611. % produce the entries, and \indexspace adds an extra vertical space
  612. % that's the right size to put above the first entry with a new letter
  613. % of the alphabet.
  614. %
  615. \newif\if@restonecol
  616. %
  617. \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
  618. \columnseprule \z@
  619. \columnsep 35pt\twocolumn[\section*{\indexname}]%
  620.   \@mkboth{\uppercase{\indexname}}{\uppercase{\indexname}}%
  621.   \thispagestyle{plain}\parindent\z@
  622.   \parskip\z@ plus.3pt\relax\let\item\@idxitem}
  623. %
  624. \def\@idxitem{\par\hangindent 40pt}
  625. %
  626. \def\subitem{\par\hangindent 40pt \hspace*{20pt}}
  627. %
  628. \def\subsubitem{\par\hangindent 40pt \hspace*{30pt}}
  629. %
  630. \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
  631. %
  632. \def\indexspace{\par \vskip 10pt plus 5pt minus 3pt\relax}
  633. %
  634. %    ****************************************
  635. %    *             FOOTNOTES                *
  636. %    ****************************************
  637. %
  638. % \footnoterule is a macro to draw the rule separating the footnotes
  639. % from the text.  It should take zero vertical space, so it needs a
  640. % negative skip to compensate for any positive space taken by the rule.
  641. % (See PLAIN.TEX.)
  642. %
  643. \def\footnoterule{\kern-3\p@\kern.5\baselineskip
  644.  \hrule width \unitindent
  645. % old: \kern 2.6\p@}                 % The \hrule has default height of .4pt .
  646. % This new kern may have to be incorporated in the skip of the
  647. % \footnoterule above.
  648.  \kern.4\baselineskip}
  649. %
  650. % \newcounter{footnote}
  651.  
  652. % The numbering style (arabic, alph, etc.) for ordinary footnotes
  653. % is defined by the macro \thefootnote.
  654. %
  655. %   \@makefntext{NOTE} :
  656. %        Must produce the actual footnote, using \@thefnmark as the mark
  657. %        of the footnote and NOTE as the text.  It is called when
  658. %        effectively inside a \parbox of width \columnwidth (i.e., with
  659. %        \hsize = \columnwidth).
  660. %
  661. %        The following macro indents all lines of the footnote by 10pt, and
  662. %        indents the first line of a new paragraph by 1em.  To change these
  663. %        dimensions, just substitute the desired value for '10pt' [in both
  664. %        places] or '1em'.  The mark is flushright against the footnote.
  665. %          \long\def\@makefntext#1{\@setpar{\@@par\@tempdima \hsize
  666. %             \advance\@tempdima-10pt\parshape \@ne 10pt \@tempdima}\par
  667. %             \parindent 1em\noindent \hbox to \z@{\hss$^{\@thefnmark}$}#1}
  668. %
  669. %        A simpler macro is used, in which the footnote text is
  670. %        set like an ordinary text paragraph, with no indentation except
  671. %        on the first line of a paragraph, and the first line of the
  672. %        footnote.  Thus, all the macro must do is set \parindent
  673. %        to the appropriate value for succeeding paragraphs and put the
  674. %        proper indentation before mark.
  675. %
  676. % The footnotemark is set flushleft in a \hbox with width .5 * \unitindent;
  677. % it is not raised; the width of the box is adaptive.
  678. % A slightly different form is needed in the title (raised fn symbols),
  679. % so we make a general macro.
  680. %
  681. \long\def\@xmakefntext#1#2{\parindent=\z@
  682.         \def\labelitemi{--}\@revlabeltrue
  683.         {\setbox0=\hbox {#1.\hskip.5em plus 1fil}
  684.          \dimen0=2\wd0
  685.          \ifdim\dimen0>\unitindent \global\unitindent=\dimen0
  686.              \@indentset \fi}
  687.         \leavevmode\hbox to .5\unitindent{#1.\hfil}#2}
  688. \def\@makefntext{\@xmakefntext{$\m@th\@thefnmark$}}
  689.  
  690. % \@makefnmark : A macro to generate the footnote marker that goes
  691. %                in the text.  Default definition used.
  692. %
  693.  
  694. %    ****************************************
  695. %    *         FIGURES AND TABLES           *
  696. %    ****************************************
  697. %
  698. % Float placement parameters.  See LaTeX manual for their definition.
  699. %
  700. \setcounter{topnumber}{2}
  701. \def\topfraction{.7}
  702. \setcounter{bottomnumber}{1}
  703. \def\bottomfraction{.3}
  704. \setcounter{totalnumber}{3}
  705. \def\textfraction{.2}
  706. \def\floatpagefraction{.5}
  707. \setcounter{dbltopnumber}{2}
  708. \def\dbltopfraction{.7}
  709. \def\dblfloatpagefraction{.5}
  710. %
  711. % \@makecaption{NUMBER}{TEXT} : Macro to make a figure or table caption.
  712. %      NUMBER : Figure or table number--e.g., 'Figure 3.2'
  713. %      TEXT   : The caption text.
  714. %  Macro should be called inside a \parbox of right width, with
  715. %  \normalsize.
  716. % changed 25 Jun 86 to fix according to Howard Trickey:
  717. % instead of \unhbox\@tempboxa\par we do #1: #2\par
  718. %
  719. \long\def\@makecaption#1#2{
  720.    \vskip 10\p@
  721.    \setbox\@tempboxa\hbox{#1: #2}
  722.    \ifdim \wd\@tempboxa >\hsize   % IF longer than one line:
  723.        #1: #2\par                 %   THEN set as ordinary paragraph.
  724.      \else                        %   ELSE  center.
  725.        \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
  726.    \fi}
  727. %
  728. % To define a float of type TYPE (e.g., TYPE = figure), the document
  729. % style must define the following.
  730. %
  731. %  \fps@TYPE   : The default placement specifier for floats of type TYPE.
  732. %
  733. %  \ftype@TYPE : The type number for floats of type TYPE.  Each TYPE has
  734. %                associated a unique positive TYPE NUMBER, which is a power
  735. %                of two.  E.g., figures might have type number 1, tables
  736. %                type number 2, programs type number 4, etc.
  737. %
  738. %  \ext@TYPE   : The file extension indicating the file on which the
  739. %                contents list for float type TYPE is stored.  For
  740. %                example, \ext@figure = 'lof'.
  741. %
  742. %  \fnum@TYPE  : A macro to generate the figure number for a caption.
  743. %                For example, \fnum@TYPE == Figure \thefigure.
  744. %
  745. %  The actual float-making environment commands--e.g., the commands
  746. %  \figure and \endfigure--are defined in terms of the macros \@float
  747. %  and \end@float, which are described below.
  748. %
  749. %  \@float{TYPE}[PLACEMENT] : Macro to begin a float environment for a
  750. %     single-column float of type TYPE with PLACEMENT as the placement
  751. %     specifier.  The default value of PLACEMENT is defined by \fps@TYPE.
  752. %     The environment is ended by \end@float.
  753. %     E.g., \figure == \@float{figure}, \endfigure == \end@float.
  754. %
  755. \newcounter{figure}
  756. \def\thefigure{\@arabic\c@figure}
  757.  
  758. \def\fps@figure{tbp}
  759. \def\ftype@figure{1}
  760. \def\ext@figure{lof}
  761. \def\fnum@figure{\figurename~\thefigure}
  762. \def\figure{\@float{figure}}
  763. \let\endfigure\end@float
  764. \@namedef{figure*}{\@dblfloat{figure}}
  765. \@namedef{endfigure*}{\end@dblfloat}
  766. %
  767. % TABLE
  768. %
  769. \newcounter{table}
  770. \def\thetable{\@arabic\c@table}
  771.  
  772. \def\fps@table{tbp}
  773. \def\ftype@table{2}
  774. \def\ext@table{lot}
  775. \def\fnum@table{\tablename~\thetable}
  776. \def\table{\@float{table}}
  777. \let\endtable\end@float
  778. \@namedef{table*}{\@dblfloat{table}}
  779. \@namedef{endtable*}{\end@dblfloat}
  780. %
  781. %    ****************************************
  782. %    *         TITLE AND ABSTRACT           *
  783. %    ****************************************
  784. %
  785.  
  786. % \maketitle ==
  787. %  BEGIN
  788. %    \par
  789. %    \begingroup
  790. %      redefine \@makefnmark so footnote marks take zero space (this
  791. %        makes centering look better)
  792. %      \thefootnote == \fnsymbol{footnote} % to number by *, dagger, etc.
  793. %      if @twocolumn = true
  794. %        then  \twocolumn[\@maketitle]
  795. %        else \@maketitle
  796. %      fi
  797. %   \thispagestyle{plain}
  798. %   \@thanks   % \thanks defines \@thanks to have \footnotetext commands
  799. %              % for producing footnotes.
  800. %   \endgroup
  801. %  END
  802. \def\maketitle{\par
  803.  \begingroup
  804.    \def\thefootnote{\fnsymbol{footnote}}%
  805.    \def\@makefnmark{\hbox to \z@{$\m@th^{\@thefnmark}$\hss}}
  806.    \def\@makefntext{\@xmakefntext{$\m@th^{\@thefnmark}$}}%
  807.    \if@twocolumn
  808.      \twocolumn[\@maketitle]
  809.      \else \newpage
  810.      \global\@topnum\z@        % Prevents figures from going at top of page.
  811.      \@maketitle \fi\thispagestyle{plain}\@thanks
  812.  \endgroup
  813.  \setcounter{footnote}{0}%
  814.  \let\maketitle\relax
  815.  \let\@maketitle\relax
  816.  \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\let\thanks\relax}
  817. % JLB 92/02/06 added \head@style to definition of \@maketitle
  818. \def\@maketitle{\newpage
  819.  \null
  820.  \vskip 2em                   % Vertical space above title.
  821.  \if@titlecentered
  822.  \begin{center}
  823. % JLB 92/08/25 added \head@style
  824. % JLB 94/04/04 removed \head@style, replaced it by part of its
  825. %              definition.
  826.     {\LARGE \bf
  827.      \interlinepenalty \@M
  828.      \hyphenpenalty=\@M \exhyphenpenalty=\@M
  829.      \@title \par}%  % Title set in \LARGE size.
  830.     \vskip 1.5em                % Vertical space after title.
  831.     {\large \bf                 % each author set in \large\bf, in a
  832.      \lineskip .5em             % tabular environment
  833.      \begin{tabular}[t]{c}\@author
  834.      \end{tabular}\par}%
  835.     \vskip 1em                 % Vertical space after author.
  836.     {\large \bf \@date}%       % Date set in \large size.
  837.   \end{center}%
  838.  \else
  839.      {\LARGE \bf \head@style \@title \par} \vskip 1.5em
  840.      {\large \bf \lineskip .5em \tabcolsep\z@
  841.              \def\and{%%% \begin{tabular} has already started
  842.                       \end{tabular}\hskip 1em plus .17fil
  843.                       \begin{tabular}[t]{l}}%% \end{tabular} will come
  844.              \begin{tabular}[t]{l}\@author\end{tabular}\par}
  845.      \vskip 1em {\large \bf \@date}
  846.  \fi
  847.  \par
  848.  \vskip 1.5em}                 % Vertical space after date.
  849.  
  850. % Abstracts are left aligned.
  851. \def\abstract{\if@twocolumn
  852. \section*{\abstractname}%
  853. \else \small
  854. \bgroup\rightskip=\unitindent
  855. \hbox{\bf \abstractname}\noindent\ignorespaces
  856. \fi}
  857. \def\endabstract{\if@twocolumn\else\par\egroup\fi}
  858. %
  859. %    ****************************************
  860. %    *            PAGE STYLES               *
  861. %    ****************************************
  862. %
  863. % The page style 'foo' is defined by defining the command \ps@foo.  This
  864. % command should make only local definitions.  There should be no stray
  865. % spaces in the definition, since they could lead to mysterious extra
  866. % spaces in the output.
  867. %
  868. % The \ps@... command defines the macros \@oddhead, \@oddfoot,
  869. % \@evenhead, and \@evenfoot to define the running heads and
  870. % feet---e.g., \@oddhead is the macro to produce the contents of the
  871. % heading box for odd-numbered pages.  It is called inside an \hbox of
  872. % width \textwidth.
  873. %
  874. % To make headings determined by the sectioning commands, the page style
  875. % defines the commands \sectionmark, ... , where
  876. % \sectionmark{TEXT} is called by \section to set a mark, and so on.
  877. % The \...mark commands and the \...head macros are defined with the
  878. % help of the following macros.  (All the \...mark commands should be
  879. % initialized to no-ops.)
  880. %
  881. % MARKING CONVENTIONS:
  882. % LaTeX extends TeX's \mark facility by producing two kinds of marks
  883. % a 'left' and a 'right' mark, using the following commands:
  884. %     \markboth{LEFT}{RIGHT} : Adds both marks.
  885. %     \markright{RIGHT}      : Adds a 'right' mark.
  886. %     \leftmark  : Used in the \@oddhead, \@oddfoot, \@evenhead or
  887. %                  \@evenfoot macro, gets the current 'left'  mark.
  888. %                  Works like TeX's \botmark command.
  889. %     \rightmark : Used in the \@oddhead, \@oddfoot, \@evenhead or
  890. %                  \@evenfoot macro, gets the current 'right'  mark.
  891. %                  Works like TeX's \firstmark command.
  892. % The marking commands work reasonably well for right marks 'numbered
  893. % within' left marks--e.g., the left mark is changed by a \section
  894. % command and the right mark is changed by a \subsection command.
  895. % However, it does produce somewhat anomalous results if two \bothmark's
  896. % occur on the same page.
  897. %
  898. % Commands like \tableofcontents that should set the marks in some page
  899. % styles use a \@mkboth command, which is \let by the pagestyle command
  900. % (\ps@...) to \markboth for setting the heading or \@gobbletwo to do
  901. % nothing.
  902. %
  903. % first some old stuff
  904. \mark{{}{}}   % Initializes TeX's marks
  905. %
  906. % \ps@empty and \ps@plain defined in LATEX.TEX
  907. %
  908. % Definition of 'headings' page style
  909. %  Note the use of ##1 for parameter of \def\sectionmark inside the
  910. %  \def\ps@headings.
  911. %
  912. % 91/03/26 FMi: Added extra set of braces arround |\sl| in |\@oddhead|
  913. % to support NFSS (|\sl| is a shape |\rm| a family). Also remove
  914. % unnecessary |\hbox{}| commands.
  915. %
  916. \if@twoside        % If two-sided printing.
  917.    \def\ps@headings{\let\@mkboth\markboth
  918.         \def\@oddfoot{}\def\@evenfoot{}%    No feet.
  919.         \def\@evenhead{\rm\thepage\hfil \sl \leftmark}%         Left heading
  920.         \def\@oddhead{{\sl \rightmark} \hfil \rm\thepage}% Right heading
  921.         \def\sectionmark##1{\markboth {\uppercase{\ifnum \c@secnumdepth >\z@
  922.               \thesection\hskip 1em\relax \fi ##1}}{}}%
  923.         \def\subsectionmark##1{\markright
  924.                  {\ifnum \c@secnumdepth >\@ne
  925.                    \thesubsection\hskip 1em\relax \fi ##1}}}
  926. \else               % If one-sided printing.
  927.    \def\ps@headings{\let\@mkboth\markboth
  928.         \def\@oddfoot{}\def\@evenfoot{}%        No feet
  929.         \def\@oddhead{{\sl \rightmark} \hfil \rm\thepage}% Heading
  930.         \def\sectionmark##1{\markright
  931.                  {\uppercase{\ifnum \c@secnumdepth >\z@
  932.                    \thesection\hskip 1em\relax \fi ##1}}}}
  933. \fi
  934. %
  935. % Definition of 'myheadings' page style.
  936. %
  937. \def\ps@myheadings{\let\@mkboth\@gobbletwo
  938.       \def\@oddhead{{\sl\rightmark} \hfil\rm\thepage}%
  939.       \def\@oddfoot{}%
  940.       \def\@evenhead{\rm \thepage\hfil\sl\leftmark}%
  941.       \def\@evenfoot{}%
  942.       \def\sectionmark##1{}\def\subsectionmark##1{}}
  943.  
  944. % The plain pagestyle has been altered to have pagenumbers
  945. % - flushright if onesided
  946. % - flush left and right if twosided.
  947. \def\ps@plain{\let\@mkboth\@gobbletwo
  948.      \def\@oddhead{}\def\@evenhead{}%
  949.      \def\@oddfoot{\rm\hfil\thepage}%
  950.      \if@twoside\def\@evenfoot{\rm\thepage\hfil}%
  951.            \else\let\@evenfoot\@oddfoot\fi}
  952.  
  953. %    ****************************************
  954. %    *          From ARTnn.sty              *
  955. %    ****************************************
  956. %
  957. % The following chunk of code appeared identically in art10,11,12.sty
  958. %
  959. %  ****************************************
  960. %  *           PARAGRAPHING               *
  961. %  ****************************************
  962. %
  963. \parskip \z@                       % Extra vertical space between paragraphs.
  964. \topsep \z@                        % Extra vertical space, in addition to
  965.                                    % \parskip, added above and below list and
  966.                                    % paragraphing environments.
  967. \partopsep \z@                     % Extra vertical space, in addition to
  968.                                    % \parskip and \topsep, added when user
  969.                                    % leaves blank line before environment.
  970. %\itemsep 4pt plus 2pt minus 1pt   % Extra vertical space, in addition to
  971.                                    % \parskip, added between list items.
  972. % See \@listI for values of \topsep and \itemsep
  973. % (Change made 9 Jun 87)
  974. %
  975. % The following page-breaking penalties are defined
  976.  
  977. \@lowpenalty   51      % Produced by \nopagebreak[1] or \nolinebreak[1]
  978. \@medpenalty  151      % Produced by \nopagebreak[2] or \nolinebreak[2]
  979. \@highpenalty 301      % Produced by \nopagebreak[3] or \nolinebreak[3]
  980.  
  981. \@beginparpenalty -\@lowpenalty    % Before a list or paragraph environment.
  982. \@endparpenalty   -\@lowpenalty    % After a list or paragraph environment.
  983. \@itempenalty     -\@lowpenalty    % Between list items.
  984.  
  985. % \clubpenalty         % 'Club line'  at bottom of page.
  986. % \widowpenalty        % 'Widow line' at top of page.
  987. % \displaywidowpenalty % Math display widow line.
  988. % \predisplaypenalty   % Breaking before a math display.
  989. % \postdisplaypenalty  % Breaking after a math display.
  990. % \interlinepenalty    % Breaking at a line within a paragraph.
  991. % \brokenpenalty       % Breaking after a hyphenated line.
  992.  
  993. %    ****************************************
  994. %    *             SECTIONS                 *
  995. %    ****************************************
  996. %
  997.  
  998. % Section headings are to be set:
  999. % 1/ extremely raggedright, with
  1000. % 2/ no hyphenations, not even at explicit hyphens
  1001. % The following macro defines the style for that
  1002. \def\head@style{\interlinepenalty \@M
  1003.     \hyphenpenalty=\@M \exhyphenpenalty=\@M
  1004.     \rightskip=0cm plus .7\hsize\relax}
  1005. %
  1006. % \secdef{UNSTARCMDS}{STARCMDS} :
  1007. %    When defining a sectionioning command without using
  1008. %    \@startsection, you can use \secdef as follows:
  1009. %       \def\part { ... \secdef \CMDA \CMDB }
  1010. %       \def\CMDA  [#1]#2{ ... }     % Command to define \part[...]{...}
  1011. %       \def\CMDB  #1{ ... }         % Command to define \part*{...}
  1012.  
  1013. \def\part{\par               % New paragraph
  1014.    \addvspace{4ex}           % Adds vertical space above title.
  1015.    \@afterindentfalse        % Suppresses indent in first paragraph.
  1016.    \secdef\@part\@spart}     % Change to \@afterindenttrue to have
  1017.                              % indent.
  1018.  
  1019.  
  1020. % This @part has some minor changes wrt the one in 'article', see the %NTG
  1021. \def\@part[#1]#2{\ifnum \c@secnumdepth >\m@ne    % IF secnumdepth > -1
  1022.         \refstepcounter{part}                    %  THEN step part counter
  1023.         \addcontentsline{toc}{part}{\thepart     %       add toc line
  1024.         \hspace{.5em}#1}\else                     %  ELSE add unnumbered line
  1025.       \addcontentsline{toc}{part}{#1}\fi         % FI
  1026.    {\head@style \parindent=\unitindent
  1027.     \ifnum \c@secnumdepth >\m@ne   % IF secnumdepth > -1
  1028.       \Large \bf \noindent
  1029.           \partname~\thepart     %   THEN Print 'Part' and
  1030.       \par \nobreak                %          number in \Large boldface.
  1031.     \fi                            % FI
  1032.     \Large \bf \noindent           % Select \Large boldface.
  1033.                           %NTG \Large & \noindent
  1034.     #2%                            % Print title
  1035.     \markboth{}{}\par              % Set heading marks null.
  1036.     }\nobreak                      % TeX penalty to prevent page break.
  1037.     \vskip 3ex                     % Space between title and text.
  1038.    \@afterheading                  % Routine called after part and
  1039.     }                              %     section heading.
  1040.  
  1041. % Heading for \part* command
  1042. \def\@spart#1{{\parindent \z@ \head@style
  1043.     \Large \bf \noindent  %NTG see above
  1044.     #1\par}                         % Title.
  1045.     \nobreak                        % TeX penalty to prevent page break.
  1046.     \vskip 3ex                      % Space between title and text.
  1047.     \@afterheading                  % Routine called after part and
  1048.   }                                 %     section heading.
  1049. %
  1050. % \@startsection {NAME}{LEVEL}{INDENT}{BEFORESKIP}{AFTERSKIP}{STYLE}
  1051. %            optional * [ALTHEADING]{HEADING}
  1052. %    Generic command to start a section.
  1053. %    NAME       : e.g., 'subsection'
  1054. %    LEVEL      : a number, denoting depth of section -- i.e., section=1,
  1055. %                 subsection = 2, etc.  A section number will be printed if
  1056. %                 and only if LEVEL < or = the value of the secnumdepth
  1057. %                 counter.
  1058. %    INDENT     : Indentation of heading from left margin
  1059. %    BEFORESKIP : Absolute value = skip to leave above the heading.
  1060. %                 If negative, then paragraph indent of text following
  1061. %                 heading is suppressed.
  1062. %    AFTERSKIP  : if positive, then skip to leave below heading,
  1063. %                       else - skip to leave to right of run-in heading.
  1064. %    STYLE      : commands to set style
  1065. %  If '*' missing, then increments the counter.  If it is present, then
  1066. %  there should be no [ALTHEADING] argument.  A sectioning command
  1067. %  is normally defined to \@startsection + its first six arguments.
  1068.  
  1069. %V From ARTn.STY and adapted
  1070. %V In section/sub/subsub less white space; smaller fonts
  1071. \def\section{\@startsection {section}{1}{\z@}%
  1072. {-2\baselineskip plus -1\baselineskip minus -.5\baselineskip}%
  1073. {.01\baselineskip}{\large\bf}}
  1074.  
  1075. \def\subsection{\@startsection{subsection}{2}{\z@}%
  1076. {-1\baselineskip plus -.5\baselineskip minus -.25\baselineskip}%
  1077. {.01\baselineskip}{\normalsize\bf}}
  1078.  
  1079. \def\subsubsection{\@startsection{subsubsection}{3}{\z@}%
  1080. {-1\baselineskip plus -.5\baselineskip minus -.25\baselineskip}%
  1081. {.01\baselineskip}{\normalsize\rm}}
  1082.  
  1083. \def\paragraph{\@startsection{paragraph}{4}{\z@}%
  1084.       {3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\sl}}
  1085. \def\subparagraph{\@startsection{subparagraph}{5}{\parindent}%
  1086.       {3.25ex plus 1ex minus .2ex}{-1em}{\normalsize\sl}}
  1087. %
  1088. % Default initializations of \...mark commands.  (See below for their
  1089. % us in defining page styles.
  1090. %
  1091.  
  1092. % \def\sectionmark#1{}           % Preloaded definitions
  1093. % \def\subsectionmark#1{}
  1094. % \def\subsubsectionmark#1{}
  1095. % \def\paragraphmark#1{}
  1096. % \def\subparagraphmark#1{}
  1097. % The value of the counter secnumdepth gives the depth of the
  1098. % highest-level sectioning command that is to produce section numbers.
  1099. %
  1100. \setcounter{secnumdepth}{3}
  1101. %
  1102. % APPENDIX
  1103. %
  1104. % The \appendix command must do the following:
  1105. %    -- reset the section and subsection counters to zero
  1106. %    -- redefine the section counter to produce appendix numbers
  1107. %    -- redefine the \section command if appendix titles and headings are
  1108. %       to look different from section titles and headings.
  1109. %
  1110. \def\appendix{\par
  1111.  \setcounter{section}{0}
  1112.  \setcounter{subsection}{0}
  1113.  \def\thesection{\Alph{section}}}
  1114.  
  1115. %
  1116. %
  1117. % UNITINDENT
  1118. %
  1119. %
  1120. %
  1121. % The dimension \unitindent controls
  1122. % - the label width in section heading
  1123. % - the \parindent
  1124. % - the footnote label indent (= half \unitindent)
  1125. % - listindent on the first level
  1126. \newdimen\unitindent
  1127.  
  1128. % The default setting accomodates three levels of single digit
  1129. % section numbering.
  1130. {\setbox0\hbox{\normalsize\rm 2.2.2\hskip.5em}
  1131.  \global\unitindent=\wd0}
  1132.  
  1133. % If this is not enough, a new width is calculated, set,
  1134. % and the .aux file contains an instruction that will set
  1135. % \unitindent on the next run.
  1136. \newif\if@needwriteindent
  1137. \def\@indentset{%
  1138.                 \global\leftmargini=\unitindent
  1139.                 \global\@needwriteindenttrue}
  1140.  
  1141. \def\@writeindent#1{\immediate\write\@mainaux
  1142.    {\string\@ifundefined{unitindent}{\string\newdimen\string\unitindent
  1143.                                      \let\string\@indentset\relax}{}}
  1144.    \immediate\write\@mainaux{\global\string\unitindent=#1\string\relax
  1145.                              \string\@indentset \string\relax}}
  1146.  
  1147. % Other indentations are maximal label width plus white space
  1148. \newdimen\othermargin
  1149. {\setbox0\hbox{\normalsize (m)\hskip.6em}\global\othermargin=\wd0}
  1150. %
  1151. % Redefining \enddocument may seem overdone.
  1152. % The difference with the original is that I have removed
  1153. % the '\def\global#1#2{}' line, and added the 'needwriteindent'.
  1154. \def\enddocument{\@checkend{document}%
  1155.     \clearpage
  1156.     \begingroup
  1157.     \if@filesw
  1158.         \if@needwriteindent\@writeindent{\the\unitindent}\fi
  1159.         \immediate\closeout\@mainaux
  1160.         \def\newlabel{\@testdef r}%
  1161.         \def\bibcite{\@testdef b}\@tempswafalse
  1162.         \makeatletter\input \jobname.aux
  1163.         \if@tempswa \@warning{Label(s) may have changed.  Rerun to get
  1164.                     cross-references right}
  1165.         \fi
  1166.     \fi
  1167.     \endgroup\deadcycles\z@\@@end}
  1168.  
  1169. %
  1170. %    ****************************************
  1171. %    *                LISTS                 *
  1172. %    ****************************************
  1173. %
  1174.  
  1175. % The following commands are used to set the default values for the list
  1176. % environment's parameters. See the LaTeX manual for an explanation of
  1177. % the meanings of the parameters.  Defaults for the list environment are
  1178. % set as follows.  First, \rightmargin, \listparindent and \itemindent
  1179. % are set to 0pt.  Then, for a Kth level list, the command \@listK is
  1180. % called, where 'K' denotes 'i', 'ii', ... , 'vi'.  (I.e., \@listiii is
  1181. % called for a third-level list.)  By convention, \@listK should set
  1182. % \leftmargin to \leftmarginK.
  1183. %
  1184. % For efficiency, level-one list's values are defined at top level, and
  1185. % \@listi is defined to set only \leftmargin
  1186.  
  1187. \leftmargini=\unitindent
  1188. \leftmarginii=\othermargin   % > \labelsep + width of '(m)'
  1189. \leftmarginiii=\othermargin  % > \labelsep + width of 'vii.'
  1190. \leftmarginiv=\othermargin   % > \labelsep + width of 'M.'
  1191. \leftmarginv=\othermargin
  1192. \leftmarginvi 1em
  1193.  
  1194. %%%%%%%%%%%%%%%%%%%%%%%%%%%% lists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1195. %
  1196. \def\@listi{\leftmargin\unitindent
  1197.             \labelsep=.5em
  1198.             \labelwidth=\leftmargin \advance\labelwidth by -\labelsep
  1199.  \topsep=-.5\parskip plus 1\p@ %V half the amount of white around lists
  1200.  \parsep \z@           %V defaults added
  1201.  \itemsep=\z@ plus 1\p@%V defaults added
  1202.  }
  1203. \def\@listii{\leftmargin\leftmarginii \labelsep=.5em
  1204.  \labelwidth\leftmarginii\advance\labelwidth-\labelsep
  1205.  \topsep=\z@ plus 1\p@ %V defaults added
  1206.  \parsep \z@           %V defaults added
  1207.  \itemsep=\z@ plus 1\p@%V defaults added
  1208.  }
  1209. \def\@listiii{\leftmargin\leftmarginiii \labelsep=.5em
  1210.  \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
  1211.  \topsep=\z@ plus 1\p@ %V defaults added
  1212.  \parsep \z@           %V defaults added
  1213.  \itemsep=\z@ plus 1\p@%V defaults added
  1214.  }
  1215. \def\@listiv{\leftmargin\leftmarginiv \labelsep=.5em
  1216.  \labelwidth\leftmarginiv\advance\labelwidth-\labelsep
  1217.  \topsep=\z@ plus 1\p@ %V defaults added
  1218.  \parsep \z@           %V defaults added
  1219.  \itemsep=\z@ plus 1\p@%V defaults added
  1220.  }
  1221. \def\@listv{\leftmargin\leftmarginv \labelsep=.5em
  1222.  \labelwidth\leftmarginv\advance\labelwidth-\labelsep
  1223.  \topsep=\z@ plus 1\p@ %V defaults added
  1224.  \parsep \z@           %V defaults added
  1225.  \itemsep=\z@ plus 1\p@%V defaults added
  1226.  }
  1227. \def\@listvi{\leftmargin\leftmarginvi \labelsep=.5em
  1228.  \labelwidth\leftmarginvi\advance\labelwidth-\labelsep
  1229.  \topsep=\z@ plus 1\p@ %V defaults added
  1230.  \parsep \z@           %V defaults added
  1231.  \itemsep=\z@ plus 1\p@%V defaults added
  1232.  }
  1233. %
  1234. %    ****************************************
  1235. %    *          From LaTeX.tex              *
  1236. %    ****************************************
  1237. %
  1238. % The macro \@sect has been transplanted from LaTeX.TeX and adapted w.r.t.
  1239. %  1/ number width, which is fixed now
  1240. %  2/ raggedright text
  1241. %  3/ 'contentsline'
  1242. \def\@sect#1#2#3#4#5#6[#7]#8{\ifnum #2>\c@secnumdepth
  1243.      \let\@svsec\@empty\else
  1244.      \refstepcounter{#1}%
  1245.      \begingroup \setbox\@tempboxa=\hbox{#6\relax\csname the#1\endcsname
  1246.                                          \hskip.5em}
  1247.        \ifdim\wd\@tempboxa>\unitindent
  1248.              \global\unitindent=\wd\@tempboxa \@indentset\fi
  1249.      \endgroup
  1250.      \edef\@svsec{\hbox to \unitindent{\csname the#1\endcsname\hfil}}
  1251.    \fi
  1252.      \@tempskipa #5\relax
  1253.       \ifdim \@tempskipa>\z@
  1254.         \begingroup #6\relax
  1255.           \@hangfrom{\hskip #3\relax\@svsec}{\head@style #8\par}
  1256.         \endgroup
  1257.        \csname #1mark\endcsname{#7}\addcontentsline
  1258.          {toc}{#1}{\ifnum #2>\c@secnumdepth \else
  1259.                       \protect\numberline{\csname the#1\endcsname}\fi
  1260.                     \toc@font#2 #7}\else
  1261.         \def\@svsechd{#6\hskip #3\relax\@svsec #8\csname #1mark\endcsname
  1262.                       {#7}\addcontentsline
  1263.                            {toc}{#1}{\ifnum #2>\c@secnumdepth \else
  1264.                              \protect\numberline{\csname the#1\endcsname}\fi
  1265.                       \toc@font#2 #7}}\fi
  1266.      \@xsect{#5}}
  1267.  
  1268. \def\@ssect#1#2#3#4#5{\@tempskipa #3\relax
  1269.    \ifdim \@tempskipa>\z@
  1270.      \begingroup #4\relax
  1271.           \@hangfrom{\hskip #1}{\head@style #5\par}
  1272.      \endgroup
  1273.    \else \def\@svsechd{#4\hskip #1\relax #5}\fi
  1274.     \@xsect{#3}}
  1275. %
  1276. % In footnotes the label in lists should be positioned differently.
  1277. % This conditional controls that behaviour.
  1278. \newif\if@revlabel
  1279. % Redefinition of \itemize and \enumerate, in order to
  1280. % specify a new \makelabel macro.
  1281. \def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
  1282.     \advance\@enumdepth \@ne
  1283.     \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
  1284.     \list{\csname label\@enumctr\endcsname}%
  1285.          {\usecounter{\@enumctr}%
  1286.            \if@revlabel
  1287.               \def\makelabel##1{\hskip .5\unitindent{##1\hfil}}\else
  1288.               \def\makelabel##1{##1\hfil} %
  1289.            \fi
  1290.          }\fi}
  1291.  
  1292. \def\itemize{\ifnum \@itemdepth >3 \@toodeep\else
  1293.     \advance\@itemdepth \@ne
  1294.     \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  1295.     \list{\csname\@itemitem\endcsname}%
  1296.          {%
  1297.           \if@revlabel
  1298.             \def\makelabel##1{\hskip .5\unitindent{##1\hfil}}\else
  1299.             \def\makelabel##1{##1\hfil}%
  1300.           \fi%
  1301.          }\fi}
  1302. % suppress spaces after these list constructs
  1303. \def\enditemize{\global\@ignoretrue \endlist}
  1304. \def\endenumerate{\global\@ignoretrue \endlist}
  1305. %
  1306. %%%%%%%%%%%%%%%%%%%%%%%%%% trivlists %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  1307. % Redefinition of verbatim and center & flushl/r for a different reason:
  1308. % we want a bit of surrounding white space
  1309. % (which has disappeared with the topsep),
  1310. % and we want verbatim indented.
  1311. % Maybe this should be disablable, or at least switched off
  1312. % in double column mode.
  1313. %
  1314. % With the introduction of a non-zero \parskip the amount of white space
  1315. % around a verbatim environment has become too large.
  1316. % Therefore we add a negative \topsep as compensation.
  1317. \def\verbatim{\@verbatim \topsep=-.5\parskip
  1318.               \frenchspacing\@vobeyspaces \@xverbatim}
  1319. %
  1320. %    ****************************************
  1321. %    *            MISCELLANEOUS             *
  1322. %    ****************************************
  1323. %
  1324. % DATE
  1325. %
  1326. \def\today{\ifcase\month\or
  1327.  January\or February\or March\or April\or May\or June\or
  1328.  July\or August\or September\or October\or November\or December\fi
  1329.  \space\number\day, \number\year}
  1330. %
  1331. % EMPHASIS
  1332. %
  1333. % (suggested by Nico Poppelier -- 28 Aug 89)
  1334. %
  1335. % \em is defined to be \sl inside an unslanted style and \rm inside a
  1336. % slanted style.  An \em command in a section title will produce a \pem
  1337. % command in the table of contents.
  1338. %
  1339.  
  1340. \def\em{\protect\pem{}}
  1341. \def\pem{\ifdim \fontdimen\@ne\font >\z@ \rm \else \sl \fi}
  1342.  
  1343. %
  1344. %    ****************************************
  1345. %    *           INITIALIZATION             *
  1346. %    ****************************************
  1347. %
  1348. % Default initializations
  1349.  
  1350. \ps@plain                   % 'plain' page style
  1351. \pagenumbering{arabic}      % Arabic page numbers
  1352. \if@twoside\else\raggedbottom\fi % Ragged bottom unless twoside option.
  1353. \if@twocolumn
  1354.  \@@input twocolum.sty\relax
  1355. \else
  1356.  \onecolumn                 % Single-column.
  1357. \fi
  1358.  
  1359. \if@titlepage
  1360.   \@@input titlepag.sty\relax
  1361. \fi
  1362.  
  1363. % Added wrt 'article':
  1364. \frenchspacing
  1365. \footnotesep=\z@
  1366. \let\regeltransport=\baselineskip
  1367. %
  1368. \parskip=.5\baselineskip plus .1\baselineskip minus .1\baselineskip
  1369. \parindent=\z@
  1370. %
  1371.  
  1372. %%%%%%%%%%%%%%%%%%%%% Dutch, German, etc %%%%%%%%%%%%%%%%%%%%%%%%%%%
  1373. % we include English parameter settings.
  1374. \def\refname{References}
  1375. \def\abstractname{Abstract}
  1376. \def\bibname{Bibliography}
  1377. \def\appendixname{Appendix}
  1378. \def\contentsname{Contents}
  1379. \def\listfigurename{List of Figures}
  1380. \def\listtablename{List of Tables}
  1381. \def\indexname{Index}
  1382. \def\figurename{Figure}
  1383. \def\tablename{Table}
  1384. \def\partname{Part}
  1385.  
  1386. \endinput
  1387.  
  1388.